<?php

/**
 * 过程式操作 
 * 
 * //获取连接 
 * $conn = @mysql_connect($host,$username,$password) or die('数据库连接错误 :'.mysql_error());
 * 
 *  //选择数据库名 
 * @mysql_select_db($db_name) or die('选择数据库名错误 :'.mysql_error($conn));
 * 
 * //设置字符集
 * mysql_query('set names utf8') or die('设置字符集错误 :'.mysql_error($conn));
 * 
 * //查询SQL
 *$query='select * from user';
 *$result = @mysql_query($query) or die('执行SQL语句错误 :'.mysql_error($conn)); 
 *
 * //显示结果集
 *$resultList = array(); 
 *while($row = mysql_fetch_assoc($result)){ 
 *   $resultList[] = $row; 
 *}
 *
 * //释放结果集
 *mysql_free_result($result); mysql_close($conn);
 */

/*
 * mysql数据库操作类
 */
class MysqlUtils {
	
	// 数据库服务器地址
	const HOST = 'localhost';
	
	// 数据库登录名
	const USERNAME = 'root';
	
	// 数据库密码
	const PASSWORD = '123456';
	
	// 数据库名
	const DBNAME = 'test';
	
	// 字符集
	const CHARSET = 'utf8';
	
	// 数据库连接
	private $conn = null;
	
	/**
	 * 构造方法
	 * 1.初始化数据库连接
	 * 2.设置字符集
	 * 3.选择数据库名
	 */
	function __construct() {
		
		// 1.初始化数据库连接
		$this->conn = @ mysql_connect ( self::HOST, self::USERNAME, self::PASSWORD );
		
		if (mysql_errno ()) {
			die ( mysql_errno () . ':' . mysql_error () );
		}
		
		// 2.设置字符集
		mysql_query ( 'set names ' . self::CHARSET );
		
		// 3.选择数据库名
		mysql_select_db ( self::DBNAME );
	}
	
	/**
	 * 查询 一条记录
	 */
	public function findOne($query) {
		$result = mysql_query ( $query, $this->conn ) or die ( mysql_error ( $this->conn ) );
		if (@$row = mysql_fetch_assoc ( $result )) {
			return $row;
		}
		// 释放结果集
		mysql_free_result ( $result );
		return null;
	}
	
	/**
	 * 查询列表记录
	 */
	public function findList($query) {
		$result = mysql_query ( $query, $this->conn ) or die ( mysql_error ( $this - conn ) );
		
		$resultList = array ();
		
		while ( @$row = mysql_fetch_assoc ( $result ) ) {
			$resultList [] = $row;
		}
		// 释放结果集
		mysql_free_result ( $result );
		return $resultList;
	}
	
	/**
	 * 插入数据
	 */
	public function insert($query) {
		mysql_query ( $query ) or die ( mysql_error ( $this->conn ) );
		return mysql_insert_id ( $this->conn );
	}
	
	/**
	 * 更新数据
	 */
	public function update($query) {
		mysql_query ( $query ) or die ( mysql_error ( $this->conn ) );
		return mysql_affected_rows ( $this->conn );
	}
	
	/**
	 * 删除数据
	 */
	public function delete($query) {
		mysql_query ( $query ) or die ( mysql_error ( $this->conn ) );
		return mysql_affected_rows ( $this->conn );
	}
	
	/**
	 * 析构方法关闭连接
	 */
	function __destruct() {
		
		// 判断 是否存在错误
		if (! mysql_errno ()) {
			mysql_close ( $this->conn );
		}
	}
}

